Conditions | 5 |
Paths | 4 |
Total Lines | 24 |
Code Lines | 17 |
Lines | 0 |
Ratio | 0 % |
Changes | 3 | ||
Bugs | 0 | Features | 0 |
1 | 'use strict'; |
||
3 | function domReady(fn) { |
||
4 | var fns = [], |
||
5 | listener, |
||
6 | doc = typeof document === 'object' && document, |
||
7 | hack = doc && doc.documentElement.doScroll, |
||
8 | domContentLoaded = 'DOMContentLoaded', |
||
9 | loaded = doc && (hack ? /^loaded|^c/ : /^loaded|^i|^c/).test(doc.readyState); |
||
10 | |||
11 | if (!loaded && doc) { |
||
12 | doc.addEventListener(domContentLoaded, listener = function () { |
||
13 | doc.removeEventListener(domContentLoaded, listener); |
||
14 | loaded = 1; |
||
15 | while (listener = fns.shift()) { |
||
16 | listener(); |
||
17 | } |
||
18 | }) |
||
19 | } |
||
20 | |||
21 | if (loaded) { |
||
22 | setTimeout(fn, 0); |
||
23 | } else { |
||
24 | fns.push(fn); |
||
25 | } |
||
26 | } |
||
27 |